package haxe.util.benchmark;

class MainClass
{
	public static function main():Void
	{
		var time:Float = Timer.getTime();
		var N:Int;
		#if flash
			N = 2000;
			var toRemove = 200;
			haxe.Firebug.redirectTraces();
		#else neko
			N = 20000;
			var toRemove = 2000;
		#else js
			N = 1000;
			var toRemove = 100;
		#end
		
		var runner:BenchmarkRunner = new BenchmarkRunner();
		//runner.add( new BenchmarkStack( N ) );
		//runner.add( new BenchmarkQueue( N ) );
		//runner.add( new BenchmarkArray( N ) );
		runner.add( new ArrayVsStack( N ) );
		runner.add( new ArrayVsStack( Std.int(N/2) ) );
		runner.add( new ArrayVsStack( Std.int(N/4) ) );
		runner.add( new ArrayVsStack( Std.int(N/5) ) );
		runner.add( new ArrayVsStack( Std.int(N/10) ) );
		runner.run();
		
		trace("Benchmarks duration : "+(Timer.getTime()-time));
	}
}